Software Reliability and Security
نویسنده
چکیده
Software problems are the main causes of system failures today. There are many well-known cases of the tragic consequences of software failures. In critical systems, very high reliability is naturally expected. Software packages used everyday also need to be highly reliable, because the enormous investment of the software developer is at stake. Studies have shown that reliability is regarded as the most important attribute by potential customers. All software developed will have a significant number of defects. All programs must be tested and debugged, until sufficiently high reliability is achieved. It is not possible to ensure that all the defects in a software system have been found and removed; however, the number of remaining bugs must be very small. As software must be released within a reasonable time, to avoid loss of revenue and market share, the developer must take a calculated risk and must have a strategy for achieving the required reliability by the target release date. For software systems, quantitative methods for achieving and measuring reliability are coming in use because of the emergence of well-understood and validated approaches. Enough industrial and experimental data are available to develop and validate methods for achieving high reliability. The minimum acceptable standards for software reliability have gradually risen in recent years. This entry presents an overview of the essential concepts and techniques in the software reliability field. We examine factors that impact reliability during development as well as during testing. First, we discuss the reliability approaches taken during different phases of software development. Integration and interoperability testing are examined. Commonly used software reliability measures are defined next. We discuss what factors control software defect density. Key ideas in test methodologies are presented. Use of a software reliability growth model is discussed and illustrated using industrial data. Use of such models allows one to estimate the testing effort needed to reach a reliability goal. We also discuss a similar model for security vulnerabilities in internet-related software. We also see how reliability of a system can be evaluated if we know the failure rates of the components. Finally, the article presents the type of tools that are available to assist in achieving and evaluating reliability. Here, we will use the terms ‘‘failure’’ and ‘‘defect’’ as defined below. Failure: A departure of the system behavior from user requirements during execution. Defect (fault or bug): An error in system implementation that can cause a failure during execution. A defect will cause a failure only when the erroneous code is executed, and the effect is propagated to the output. The testability of a defect is defined as the probability of detecting it with a randomly chosen input. Defects with very low testability can be very difficult to detect. The software reliability improves during testing, as bugs are found and removed. Once the software is released, its reliability is fixed as long as the operating environment remains the same. The software will fail time to time during operational use when it cannot respond correctly to an input. During operational use, bug fixes that update the software are often released. For a software system, its own past behavior is often a good indicator of its reliability, even though data from other similar software systems can be used for making projections.
منابع مشابه
Software Testing Models Against Information Security Requirements
Notwithstanding the efforts by the world software producers, the problem of the reduction of software insecurities has not yet been solved [7]. Objectively, the situation is due to the high structural complexity of the software systems, and dynamism of versions and technologies. One of the ways to increase the software security is the use of models at different stages of software testing to rel...
متن کاملSecurity Modeling and Evaluation for the Mobile Code Paradigm
Software reliability modeling is a successful attempt to give quantitative measures of software systems. In the broadest sense, security is one of the aspects of reliability. A system is likely to be more reliable if it is more secure. One of the pioneering efforts to integrate security and reliability is [2]. In this paper, these similarities between security and reliability were observed. Sec...
متن کاملThe effect of developing the dynamics of library software system on information security management (Case study: Libraries of Islamic Azad universities of the country)
Background and Objective: Information security is of vital importance in most organizations. This is especially central in academic libraries due to the specific type of visitors, exchange and transfer of information to the users. Thus, the purpose is to investigate the relationship of the development of library software and information security management in the libraries of Islamic Azad Uni...
متن کاملInterdependence of Reliability and Security
This paper studies manufacturer incentives to invest in the improvement of reliability and security of a software system when (i) reliability and security failures are caused by the same errors in the development of the software components and (ii) naive users find it too costly to distinguish between these two classes of system failures. We trace the effects of these informational imperfection...
متن کاملReliability and Security Analysis on 3-vote-2 Voting System
To aim at 3-vote-2 voting system which had already been widely applied in modern railway signal system, based on Markov model the paper analyzed its security and reliability indexes respectively under the three operating modes. During modeling some significant factors, such as common-cause failure, coverage rate of diagnostic systems, online maintainability, periodic inspection, and diverse fai...
متن کاملL 4 Cars
Automotive components present unique challenges in reliability, security, performance and cost. Consolidation of different functions in multi-purpose units drives up complexity, and raises not only reliability concerns, but also the issue of liability for sub-component suppliers. It is of foremost importance to guarantee reliability and security right from the start when designing such systems....
متن کامل